Multi-Channel Frequency-Domain Adaptive Filter Method and Apparatus

ABSTRACT

The invention is a method and apparatus for frequency-domain adaptive filtering that has broad applications such as to equalizers, but is particularly suitable for use in acoustic echo cancellation circuits for stereophonic and other multiple channel teleconferencing systems. The method and apparatus utilizes a frequency-domain recursive least squares criterion that minimizes the error signal in the frequency-domain. In order to reduce the complexity of the algorithm, a constraint is removed resulting in an unconstrained frequency-domain recursive least mean squares method and apparatus. A method and apparatus for selecting an optimal adaptation step for the UFLMS is disclosed. The method and apparatus is generalized to the multiple channel case and exploits the cross-power spectra among all of the channels.

FIELD OF THE INVENTION

The present invention pertains to adaptive filtering in multi-channel environments. More particularly, the invention has specific application to multi-channel acoustic echo cancellation such as in stereophonic and other multi-channel teleconferencing systems.

BACKGROUND OF THE INVENTION

The evolution of teleconferencing to a more lifelike and transparent audio/video medium depends upon, among other things, the evolution of teleconferencing audio capabilities. The more realistic the sound, the more lifelike a teleconference will be and the more persons and businesses will use it. Some present-day teleconferencing systems have already evolved to the point of including high-fidelity audio systems (100-7000 Hz bandwidth). These systems provide a significant improvement over older telephone systems (200-3200 Hz bandwidth). However, such high fidelity systems are by no means the limits of audio evolution in teleconferencing.

Spatial realism is highly desirable for audio/video teleconferencing. This is because of the need of a listener to follow, for example, a discussion among a panel of dynamic, multiple, and possibly simultaneous talkers. The need for spatial realism leads to consideration of multi-channel audio systems in teleconferencing, which, at a minimum, involves two channels (i.e., stereophonic).

Many present-day teleconferencing systems have a single (monophonic) full-duplex audio channel for voice communication. These systems, which range from simple speaker-phones to modern video teleconferencing systems, typically employ acoustic echo cancellers (AECs) to remove undesired echos that result from acoustic coupling. This coupling results when sound emitted from the teleconference loudspeaker (in response to a signal from a remote location), arrives at the teleconference microphone in the same room (i.e., the echo). The microphone generates a signal in response to this sound that is returned to the remote room in which it was originally generated. An AEC employs an adaptive filter to estimate the impulse response from the loudspeaker to the microphone in a room in which an echo occurs and to generate a signal to be subtracted from the receiver signal to cancel that echo electrically. Like monophonic teleconferencing, high-quality stereophonic teleconferencing requires AEC.

Stereophonic AEC presents a problem which does not exist in the monophonic context. In monophonic teleconferencing systems, a single adaptive filter is used to estimate a single impulse response from the loudspeaker to the microphone in the room experiencing an echo. There is only one impulse response to estimate because there is only one loudspeaker and one microphone in the room. As the adaptive filter impulse response estimate approaches the true impulse response of the room, the difference between these responses approaches zero. Once their difference is very small, the effects of echo are reduced. The ability to reduce echo is independent of the signal from the loudspeaker, since the real and estimated impulse responses are equal (or nearly so) and both the room (with its real impulse response) and the adaptive filter (with its estimated impulse response) are excited by the same signal.

In multi-channel stereophonic teleconferencing systems, multiple (e.g., two) adaptive filters are used to estimate the multiple (e.g., two) impulse responses of the room. Each adaptive filter is associated with a distinct acoustic path from a loudspeaker to a microphone in the receiving room. Rather than being able to independently estimate the individual impulse responses of the room, conventional stereophonic AEC systems derive impulse responses which have a combined effect of reducing echo. This limitation on independent response derivation is due to the fact that the AEC system can measure only a single signal per microphone. This signal is the sum of multiple acoustic signals arriving at a single microphone through multiple acoustic paths. Thus, the AEC cannot observe the individual impulse responses of the room. The problem with deriving impulse response estimates based on the combined effect of reduced echo is that such combined effect does not necessarily mean that the actual individual impulse responses are accurately estimated. When individual impulse responses are not accurately estimated, the ability of the AEC system to be robust to changes in the acoustic characteristics of the remote location is limited, commonly resulting in undesirable lapses in performance.

FIG. 1 presents a schematic diagram of a conventional stereophonic (two-channel) AEC system in the context of stereo teleconferencing between two locations. A transmission room 1 is depicted on the right of the figure. Transmission room 1 includes two microphones 2, 3 which are used to pick up signals from an acoustic source 4 (e.g., a speaking person) via two acoustic paths that are characterized by the impulse responses g1(t) and g2(t). (For clarity of presentation, all acoustic paths are assumed to include the corresponding loudspeaker and/or microphone responses.) Output from microphones 2, 3 are stereophonic channel source signals x2(t) and x1(t), respectively. These stereophonic channel source signals, x2(t) and x1(t), are then transmitted via a telecommunications network (such as a telephone or an ATM network) to loudspeakers 11, 12 in a receiving room 10 (shown on the left). For convenience, this direction will herein be termed the upstream direction and transmissions in the opposite direction, i.e., from room 10 to room 1, will be termed the downstream direction. The terms upstream and downstream are not intended to be limiting and have no particular connotation other than to differentiate between two directions. Loudspeakers 11, 12 are acoustically coupled to microphone 14 in receiving room 10 via the paths indicated with impulse responses h1(t) and h2(t). These are the paths by which acoustic echo signals arrive at microphone 14.

The output of the microphone 14 is signal y(t), which is a signal representing acoustic signals in the receiving room impinging on the microphone. These acoustic signals include the acoustic echo signals as well as any signals independently generated in the room (such as by a speaking person). Loudspeakers 11, 12 are also acoustically coupled to microphone 13 by other acoustic paths. For clarity of presentation, however, only the coupling to microphone 14 and AEC with respect to its output will be discussed.

Further, those of ordinary skill in the art will recognize that the analysis concerning AEC for the output of microphone 14 is applicable to the output of microphone 13 as well. Similarly, those skilled in the art will recognize that AEC as performed for the outputs of microphones 13 and 14 in receiving room 10 also may be advantageously performed for the outputs of microphones 2 and 3 in transmitting room 1, wherein the functions of receiving room 10 and transmitting room 1 are swapped.

If nothing were done to cancel the acoustic echo signals in receiving room 10, these echoes would pass back to loudspeaker 5 in transmission room 1 (via microphone 14 and the telecommunications network) and would be circulated repeatedly, producing undesirable multiple echoes, or even worse, howling instability. This, of course, is the reason that providing AEC capability is advantageous.

Conventional AECs typically derive an estimate of the echo with use of a finite impulse response (FIR) filter with adjustable coefficients. This “adaptable” filter models the acoustic impulse response of the echo path in the receiving room 10. FIG. 1 generally illustrates this technique with use of AEC 20 using two adaptive FIR filters 16, 15 having impulse responses, ĥ1(t) and ĥ2(t), respectively, to model the two echo paths in the receiving room 10. Filters 16, 15 may be located anywhere in the system (i.e., at the transmitting room 1, in the telecommunications network, or at the receiving room 10), but are preferably located at the receiving room 10.

Driving these filters 16, 15 with the upstream loudspeaker signals x1(t) and x2(t) produces signals ŷ1(t) and ŷ2(t), which are components of a total echo estimate. The sum of these two echo estimate component signals yields the total echo estimate signal, ŷ(t), at the output of summing circuit 17. This echo estimate signal, ŷ(t), is subtracted from the downstream signal y(t) by subtraction circuit 18 to form an error signal e(t). Error signal e(t) is intended to be small (i.e., driven towards zero) in the absence of near-end speech (i.e., speech generated in the receiving room).

In most conventional AEC applications, the coefficients of adaptive filters 15, 16 are derived using well-known techniques, such as the familiar LMS (or stochastic gradient) algorithm. The coefficients are updated in an effort to reduce the error signal to zero. As such, the coefficients ĥ1(t) and ĥ2(t) are a function of the stereophonic signals x2(t) and x1(t) and the error signal, e(t).

As mentioned above, unlike monophonic AECs, conventional stereophonic AECs do not independently estimate the individual impulse responses of a room. Rather, conventional stereophonic AEC systems derive impulse responses which have a combined effect of reducing echo. Unless individual impulse responses are accurately estimated, the ability of the AEC system to be robust to changes in the acoustic characteristics of the remote location is limited and undesirable lapses in performance may occur.

This problem is discussed fully in U.S. patent application Ser. No. 09/395,834, entitled A Frequency Domain Stereophonic Acoustic Echo Canceller Utilizing Non-Linear Transformation, which is incorporated herein by reference.

Not only must the adaptation algorithm of filters 15, 16 track variations in the receiving room, it must also track variations in the transmission room. The latter variations are particularly difficult to track. For instance, if one talker stops talking and another starts talking at a different location in the room, the impulse responses, g1 and g2, change abruptly and by very large amounts.

J. Benesty, A. Gilloire, Y. Grenier, A frequency domain stereophonic acoustic echo canceller exploiting the coherence between the channels, Acoustic Research Letters Online, 21 Jul. 1999, discloses a frequency domain algorithm for use in a stereophonic echo canceller that exploits the coherence between the channels.

As can be seen from the above discussion, therefore, the challenge is to devise an approach which (as in the case of a single-channel echo canceller) converges independently of variations in the transmission room. Thus, it is desirable to de-correlate x1 and x2.

U.S. Pat. No. 6,694,020 discloses a teleconferencing system that de-correlates the channel signals in a multi-channel teleconferencing system. FIG. 2 is a schematic diagram of a stereophonic teleconferencing system that includes circuitry for de-correlating x₁ and x₂ in accordance with the teachings of U.S. Pat. No. 5,828,756.

The system of FIG. 2 is identical to that of FIG. 1 except for the presence of non-linear signal transformation modules 25, 30 (NL), which have been inserted in the paths between microphones 3, 2 of transmission room 1 and loudspeakers 11, 12 of receiving room 10. By operation of non-linear transformation modules 25, 30, stereophonic source signals x₁(t) and x₂(t) are transformed to signals x₁′(t) and x₂′(t), respectively, where “′” indicates a transformed signal which (in this case) advantageously has a reduced correlation with the other transformed signal of the stereophonic system.

As with the system presented in FIG. 1, the filters of AEC 20 may be located anywhere within the system, but are preferably located at receiving room 10. Non-linear transformation modules 25, 30 also may be located anywhere (so long as receiving room 10 and AEC 20 both receive the transformed signals as shown), but are preferably located at transmitting room 1.

Specifically, in accordance with one embodiment of the device disclosed in U.S. Pat. No. 5,828,756, the signals x₁(t) and x₂(t) are advantageously partially de-correlated by adding to each a small non-linear function of the corresponding signal itself. It is well-known that the coherence magnitude between two processes is equal to one (1) if and only if they are linearly dependent. Therefore, by adding a “noise” component to each signal, the coherence is reduced. However, by combining the signal with an additive component which is similar to the original signal, the audible degradation may be advantageously minimized, as compared to the effect of adding, for example, a random noise component. This is particularly true for signals such as speech, where the harmonic structure of the signal tends to mask the distortion.

Thus, a linear relation between x₁′(t) and x₂′(t) is avoided, thereby ensuring that the coherence magnitude will be smaller than one. Such a transformation reduces the coherence and hence the condition number of the covariance matrix, thereby improving the misalignment. Of course, the use of this transformation is particularly advantageous when its influence is inaudible and does not have any deleterious effect on stereo perception. For this reason, it is preferable that the multiplier, α, be relatively small.

In one illustrative embodiment of U.S. Pat. No. 5,828,756, the non-linear functions f₁ and f₂ as applied by non-linear function module 32 are each half-wave rectifier functions.

The above-described solution proposed in U.S. Pat. No. 5,828,756 is a simple and efficient solution that overcomes the above-discussed problems by adding a small non-linearity into each channel. The distortion due to the non-linearity is hardly perceptible and does not affect the stereo effect, yet reduces inter-channel coherence, thereby allowing reduction of misalignment to a low level. However, because the introduced distortion is so small (so as not to significantly affect sound quality), the echo cancellation algorithm must be very powerful in order to converge to a solution within a reasonably small period of time when conditions in the room change. A least mean squares (LMS) solution does not converge fast enough. A much more powerful algorithm is necessary in order to make the system illustrated in FIG. 2 work.

The aforementioned U.S. Pat. No. 6,694,020 discloses an acoustic echo canceller that exploits the coherence between multiple channels in the system illustrated in FIG. 2. Particularly, it discloses one efficient frequency-domain adaptive algorithm used in the echo canceller circuits.

SUMMARY OF THE INVENTION

The invention is a multiple channel adaptive filtering method and apparatus that is particularly suitable for use for acoustic echo cancellation in a multi-channel teleconferencing system, but has much broader application to any type of adaptive filtering environment. The method and apparatus exploits a new frequency-domain adaptive algorithm by using a frequency-domain recursive least squares criterion that minimizes the error signal in the frequency-domain. In accordance with the method and apparatus, an exact adaptive algorithm based on the normal equation is provided. Further, in order to reduce the complexity of the algorithm, a constraint is removed resulting in an unconstrained frequency-domain least mean squares (UFLMS) algorithm.

The invention further includes a method and apparatus for selecting an optimal step size for the UFLMS. Most importantly, the algorithm is generalized to the multiple channel case thereby exploiting the cross-power spectra among all the channels which allows for a fast convergence rate in the multiple channel acoustic echo cancellation environment where the input signals are highly correlated.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram of a conventional stereophonic teleconferencing system.

FIG. 2 is a schematic diagram of a prior art stereophonic teleconferencing system in which small non-linearities have been added into the channel paths in order to selectively reduce the correlation between the individual channel signals.

FIG. 3 is a schematic diagram in accordance with an illustrative embodiment of the present invention.

FIG. 4A is a graphical diagram illustrating convergence of the mean square error (MSE) of a stereophonic teleconferencing system in accordance with a normalized least mean-squares (NLMS) echo cancellation algorithm of the prior art.

FIG. 4B is a graphical diagram illustrating misalignment in a stereophonic teleconferencing system employing echo cancellation in accordance with an NLMS echo cancellation algorithm of the prior art.

FIG. 5A is a graphical diagram illustrating convergence of the mean square error (MSE) of a stereophonic teleconferencing system in accordance with an FLRS echo cancellation algorithm of the prior art.

FIG. 5B is a graphical diagram illustrating misalignment in a stereophonic teleconferencing system employing echo cancellation in accordance with an FRLS echo cancellation algorithm of the prior art.

FIG. 6A is a graphical diagram illustrating convergence of the mean square error (MSE) of a stereophonic teleconferencing system in accordance with a first embodiment of the present invention.

FIG. 6B is a graphical diagram illustrating misalignment in a stereophonic teleconferencing system employing echo cancellation in accordance with the first embodiment of the present invention.

FIG. 7A is a graphical diagram illustrating convergence of the mean square error (MSE) in a stereophonic teleconferencing system in accordance with a second embodiment of the present invention.

FIG. 7B is a graphical diagram illustrating misalignment in a stereophonic teleconferencing system in accordance with the second embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 3 is a schematic diagram of a stereophonic teleconferencing system in accordance with the present invention. It is essentially identical to FIG. 2 except for the fact that the adaptive filters 15 and 16 have been replaced with adaptive filters 302 and 304. As will be explained in detail below, adaptive filters 302 and 304 implement a frequency domain adaptive algorithm that tracks variations in the receiving room impulse responses h1, h2, respectively.

1. INTRODUCTION

Since its first introduction by Dentino et al. [1], adaptive filtering in the frequency-domain has progressed very fast, and different sophisticated algorithms have since been proposed. Ferrara [2] was the first to elaborate an efficient frequency-domain least mean square adaptive filter algorithm (FLMS) that converges to the optimal (Wiener) solution. Mansour and Gray [3] derived an even more efficient algorithm, the unconstrained FLMS (UFLMS), using only three FFT operations per block instead of five for the FLMS with comparable performances [4]. However, a major handicap of these solutions is delay. Indeed, this delay is equal to the length of the adaptive filter L, which is considerable for some applications like acoustic echo cancellation (AEC) where the number of taps can easily exceed one thousand.

A new structure, using the classical overlap save (OLS) method, was proposed in [5] and [6] and generalized in [7] where the block processing N was made independent of the filter length L and N can be chosen as small as desired, with a delay equal to N. Although from the standpoint of complexity, the optimal choice is N=L, using smaller block sizes (N<L) in order to reduce the delay is still more efficient than the time-domain algorithms. A more general scheme based on weighted overlap and add (WOLA) methods, the generalized filter (GMDF), was proposed in [8], [9], where is the overlap factor. The settings α>1 appear to be very useful in the context of adaptive filtering, since the filter coefficients can be adapted more frequently (every N/α samples instead of every N samples in the standard OLS scheme). So this structure introduces one more degree of freedom, but the complexity is increased by a factor of roughly α. Using a block size as large as the delay permits will increase the convergence rate of the algorithm, while taking an overlap factor greater than 1 will increase the tracking abilities of the algorithm.

A new frequency-domain adaptive algorithm is derived using a frequency-domain recursive least squares criterion. A similar criterion was proposed in [3] using mathematical expectations instead. Here, however, an exact adaptive algorithm is derived from the normal equation. The obtained algorithm is complex to implement. To reduce the complexity, a constraint is removed that will render exactly the UFLMS [3]. A scheme for selecting the optimal adaptation step for UFLMS is disclosed. Most importantly, we generalize all this to the multi-channel case. The obtained algorithm exploits the cross-power spectra among all the channels, which is very important (for a fast convergence rate) in multi-channel AEC where the input signals are highly correlated [10]. To simplify the presentation, we will derive all of the algorithms only for L=N, α=1, and with the OLS method. Generalization to any other case is straightforward.

In the equations below the following conventions should be noted: (1) lower case bold face variables denote vectors, (2) upper case bold face variables denote matrices, (3) underlined variables denote frequency-domain values, and (4) variables with hats denote estimates.

2. MONO-CHANNEL FREQUENCY-DOMAIN ADAPTIVE FILTERING RE-VISITED

In the time-domain, the general procedure to derive an adaptive algorithm is to first define an error signal, then to build a cost function based on the error signal, and finally to minimize the cost function with respect to the adaptive filter coefficients [11]. In the context of system identification, the error signal at time n between the system and model filter outputs is given by

e(n)=y(n)−(n)  Eq. (1)

where

ŷ(n)=ĥ ^(T)×(n)  Eq. (2)

is an estimate of the output signal y(n),

ĥ=[ĥoĥ₁ . . . ĥ_(L-1)]^(T)

is the model filter, and

${x(n)} = \underset{15}{\left\lbrack {{x(n)}\mspace{11mu} {x\left( {n - 1} \right)}\mspace{14mu} \ldots \mspace{20mu} {x\left( {n - L + 1} \right)}} \right\rbrack^{T}}$

is a vector containing the last L samples of the input signal x. Superscript ^(T) denotes the transpose of a vector or matrix. The recursive least squares (RLS) adaptive algorithm is obtained exactly from the normal equation which is derived by minimizing the following time-domain criterion [11]:

$\begin{matrix} {{{J_{t}(n)} = {\left( {1 - \lambda_{t}} \right){\sum\limits_{p = 0}^{n}{\lambda_{t}^{n - p}{^{2}(p)}}}}},} & {{Eq}.\mspace{11mu} (3)} \end{matrix}$

where λ_(t) (0<λt<1) is an exponential forgetting factor. In the rest of this section, we will follow the same approach.

We now define the block error signal (of length N=L) as:

e(m)=y(m)−ŷ(m),  Eq. (4)

where m is the block time index, and

e(m) = [e(m L)  …  e(m L) + L − 1)]^(T), y(m) = [y(m L)  …  y(m L) + L − 1)]^(T), ŷ(m) = [x(m L)  …  x(m L + L − 1]^(T)ĥ = X^(T)(m)ĥ.

It can easily be checked that X is a Toeplitz matrix of size (L×L).

It is well known that a Toeplitz matrix X can be transformed, by doubling its size, to a circulant matrix

$c = \begin{bmatrix} x^{\prime} & x \\ x & x^{\prime} \end{bmatrix}$

where X′ also is a Toeplitz matrix. (The matrix X′ can be expressed in terms of the elements of X, except for an arbitrary diagonal.) Using circulant matrices, the block error signal can be re-written equivalently:

$\begin{matrix} {{\begin{bmatrix} 0_{{Lx}\; 1} \\ {e(m)} \end{bmatrix} = {\begin{bmatrix} 0_{{Lx}\; 1} \\ {y(m)} \end{bmatrix} - {W{{\hat{y}}^{\prime}(m)}}}},} & {{Eq}.\mspace{14mu} (5)} \\ {where} & \; \\ {W = \begin{bmatrix} 0_{LxL} & 0_{LXL} \\ 0_{LxL} & I_{LxL} \end{bmatrix}} & \; \\ {and} & \; \\ {{{{\hat{y}}^{\prime}(m)} = {{c(m)}\begin{bmatrix} \hat{h} \\ o_{{Lx}\; 1} \end{bmatrix}}},} & {{Eq}.\mspace{14mu} (6)} \end{matrix}$

It is also well known that a circulant matrix is easily decomposed as follows:

C=F− ¹ DF,

where F is the Fourier matrix of size (2 L×2 L) and D is a diagonal matrix whose elements are the discrete Fourier transform of the first column of C. If we multiply Eq. (5) by F, we get the error signal in the frequency domain:

$\begin{matrix} \begin{matrix} {{\underset{\_}{e}(m)} = {{\underset{\_}{y}(m)} - {G{\underset{\_}{{\hat{y}}^{\prime}}(m)}}}} \\ {{= {{\underset{\_}{y}(m)} - {{{GD}(m)}\hat{\underset{\_}{h}}}}},} \end{matrix} & {{Eq}.\mspace{14mu} (7)} \\ {where} & \; \\ {{{{\underset{\_}{e}(m)} = {F\begin{bmatrix} 0_{{Lx}\; 1} \\ {e(m)} \end{bmatrix}}},{{\underset{\_}{y}(m)} = {F\begin{bmatrix} 0_{{Lx}\; 1} \\ {y(m)} \end{bmatrix}}},{G = {FWF}^{- 1}},\left\lbrack {{{{\hat{y}}^{\prime}(m)} = {F{{\hat{y}}^{\prime}(m)}}},} \right\rbrack}{{{\underset{\_}{{\hat{y}}^{\prime}}(m)} = {F{{\hat{y}}^{\prime}(m)}}},{\hat{\underset{\_}{h}} = {F\begin{bmatrix} \hat{h} \\ 0_{{Lx}\; 1} \end{bmatrix}}},}} & \; \end{matrix}$

Having derived a frequency-domain error signal, we now define a frequency-domain criterion which is similar to Eq. (3):

$\begin{matrix} {{{J_{f}(m)} = {\left( {1 - \lambda_{f}} \right){\sum\limits_{p = 0}^{m}\; {\lambda_{f}^{m - p}{{\underset{\_}{e}}^{H}(p)}{\underset{\_}{e}(p)}}}}},} & {{Eq}.\mspace{14mu} (8)} \end{matrix}$

where ^(H) denotes conjugate transpose. Let ∇ be the gradient operator (with respect to ĥ). Applying the operator ∇ to the cost function J_(f), we obtain (noting that G^(H)G=G²=G) the complex gradient vector:

$\begin{matrix} \begin{matrix} {{\nabla\; {J_{f}(m)}} = \frac{\partial{J_{f}(m)}}{\partial{\hat{\underset{\_}{h}}(m)}}} \\ {= {{{- \left( {1 - \lambda_{f}} \right)}{\sum\limits_{p = 0}^{m}\; {\lambda_{f}^{m - p}{D(p)}G^{*}{{\underset{\_}{y}}^{*}(p)}}}} +}} \\ {{{{\left( {1 - \lambda_{f}} \right)\left\lbrack {\sum\limits_{p = 0}^{m}\; {\lambda_{f}^{m - p}{D(p)}G^{*}{D^{*}(p)}}} \right\rbrack}{{\hat{\underset{\_}{h}}}^{*}(m)}},}} \end{matrix} & {{Eq}.\mspace{14mu} (9)} \end{matrix}$

where * denotes complex conjugate. By setting the gradient of the cost function equal to zero, conjugating, and noting that Gy(p)=y(p), we obtain the so-called normal equation:

$\begin{matrix} {{{{S(m)}{\hat{\underset{\_}{h}}(m)}} = {s(m)}},} & {{Eq}.\mspace{14mu} (10)} \\ {where} & \; \\ \begin{matrix} {{S(m)} = {\left( {1 - \lambda_{f}} \right){\sum\limits_{p = 0}^{m}\; {\lambda_{f}^{m - p}{D^{*}(p)}{{GD}(p)}}}}} \\ {= {{\lambda_{f}{S\left( {m - 1} \right)}} + {\left( {1 - \lambda_{f}} \right){D^{*}(m)}{{GD}(m)}}}} \end{matrix} & {{Eq}.\mspace{14mu} (11)} \\ {and} & \; \\ \begin{matrix} {{s(m)} = {\left( {1 - \lambda_{f}} \right){\sum\limits_{p = 0}^{m}\; {\lambda_{f}^{m - p}{D^{*}(p)}{\underset{\_}{y}(p)}}}}} \\ {= {{\lambda_{f}{s\left( {m - 1} \right)}} + {\left( {1 - \lambda_{f}} \right){D^{*}(m)}{{\underset{\_}{y}(m)}.}}}} \end{matrix} & {{Eq}.\mspace{14mu} (12)} \end{matrix}$

It can be shown that, if the covariance matrix of the input signal is of rank L, then the matrix S(m) is nonsingular [3], [4]. In this case, the normal equation has a unique solution which is the optimal Wiener solution.

Enforcing the normal equation at block time indices m and m−1, and using Eq. (11) and Eq. (12), we easily derive an exact adaptive algorithm:

e (m)= y (m)−GD(m) ĥ (m−1)  Eq. (13)

ĥ (m)= ĥ (m−1)+(1−λ_(f))S ⁻¹(m)D*(m) e (m).  Eq. (14)

This will be called the constrained algorithm. Note that this definition is different from the original frequency-domain adaptive algorithm proposed by Ferrara [2]. (The constraint here is on the update of the matrix S while, in Ferrara's algorithm, the constraint is on the update of the coefficients of the filter). It can be shown that the convergence of the proposed algorithm for stationary signals does not depend on the statistics of the input signal which is, of course, a very desirable feature.

Frequency-domain adaptive algorithms were first introduced to reduce the arithmetic complexity of the LMS algorithm [2]. Unfortunately, the matrix S is not diagonal, so the proposed algorithm has a high complexity and may not be practical to implement. If, however, 2 G can be well approximated by the identity matrix, we then obtain the following unconstrained algorithm.

S _(u)(m)=λ_(f) S _(u)(m−1)+(1−λ_(f))D*(m)D*(m)  Eq. (15)

ĥ (m)= ĥ (m−1)+μ_(u) S _(u) ⁻¹(m)D*(m) e (m)  Eq. (16)

where S_(u) is now a diagonal matrix and μ_(u)=2(1−λ_(f)) is a positive number. This algorithm is exactly the unconstrained frequency-domain adaptive filter proposed by Mansour and Gray [3] and since S_(u) is diagonal, this algorithm is very attractive from a complexity point of view. Below, it is shown that this approximation is justified. Also, below we disclose the optimum value for μ_(u).

Let us examine the structure of the matrix G. We have: G*=F⁻¹WF; since W is a diagonal matrix, and G is a circulant matrix. Therefore, inverse transforming the diagonal of W gives the first column of G*,

$\begin{matrix} {g^{*} = \left\lbrack {g_{0}^{*}g_{1}^{*}\mspace{14mu} \ldots \mspace{14mu} g_{{2\; L} - 1}^{*}} \right\rbrack^{T}} \\ {= {F^{- 1}{\left\lceil {0\mspace{14mu} \ldots \mspace{14mu} 0\mspace{14mu} 1\mspace{14mu} \ldots \mspace{14mu} 1} \right\rceil^{T}.}}} \end{matrix}$

The elements of vector g can be written explicitly as:

$\begin{matrix} \begin{matrix} {g_{k} = {\frac{1}{2\; L}{\sum\limits_{l = L}^{{2\; L} - 1}\; {\exp \left( {{- {2}}\; \pi \; {{kl}/2}\; L} \right)}}}} \\ {{= {\frac{\left( {- 1} \right)^{k}}{2\; L}{\sum\limits_{l = 0}^{L - 1}\; {\exp \left\lbrack {{- }\; \pi \; {{kl}/L}} \right\rbrack}}}},} \end{matrix} & {{Eq}.\mspace{14mu} (17)} \end{matrix}$

where i²=−1. Since g_(k) is the sum of a geometric progression, we have:

$\begin{matrix} \begin{matrix} {{gk} = \left\{ \begin{matrix} 0.5 & {k = 0} \\ {\frac{\left( {- 1} \right)^{k}}{2\; L}\frac{1 - {\exp \left( {{- }\; \pi \; k} \right)}}{1 - {\exp \left( {{- }\; \pi \; {k/L}} \right)}}} & {k \neq 0} \end{matrix} \right.} \\ {= \left\{ \begin{matrix} 0.5 & {k = 0} \\ 0 & {k\mspace{14mu} {even}} \\ {\frac{- 1}{2\; L}\left\lbrack {1 - {i\; {\cot \left( \frac{\pi \; k}{2\; L} \right)}}} \right\rbrack} & {{k\mspace{14mu} {odd}},} \end{matrix} \right.} \end{matrix} & {{Eq}.\mspace{14mu} (18)} \end{matrix}$

where L−1 elements of vector g are equal to zero. Moreover, since G^(H)G=G, then g^(H) g=g₀=0.5 and we have

$\begin{matrix} {{{g^{H}g} - g_{0}^{2}} = {{\sum\limits_{l = 1}^{{2\; L} - 1}\; {{gl}}^{2}} = {{2{\sum\limits_{l = 1}^{L - 1}\; {{gl}}^{2}}} = \frac{1}{4}}}} & {{Eq}.\mspace{14mu} (19)} \end{matrix}$

We can see from Eq. (19) that the first element of vector g, i.e., g₀, is dominant in a mean-square sense, and from Eq. (18) that the first L elements of g decrease rapidly to zero as k increases. Because of the conjugate symmetry, some of the last elements of g are non-negligible. However, this is of little concern since G is circulant with g as its first column and its other columns have those non-negligible elements shifted in such a way that they are concentrated around the main diagonal.

To summarize, only the first few off-diagonals of G will be non-negligible, while the others can be completely neglected. Thus, approximating G by a diagonal matrix, i.e., G^({tilde over ( )}) g0I=I/2, is reasonable, and in this case we will have

λu ^({tilde over ( )})(1−λ_(f))/g ₀=2(1−λ_(f))

for an optimal convergence rate. Note that this is in agreement with previous derivations [2] that give an optimal step size of 1−λ_(f) divided by a power normalizing factor, which for our assumed unit-power signal with L-sample zero padding is equal to ½.

3. GENERALIZATION TO THE MULTI-CHANNEL CASE

The generalization to the multi-channel case is rather straightforward. Therefore, this section only highlights some important steps and states the algorithms. For convenience, we will use the same notation as previously employed. Let J be the number of channels. Our definition of multi-channel is that we have a system with J input signals x_(j), j=1, 2 . . . , J and one output signal y. Now the block error signal is defined as:

$\begin{matrix} {{{e(m)} = {{y(m)} - {\sum\limits_{j = 1}^{J}\; {{X_{j}^{T}(m)}{\hat{h}}_{j}}}}},} & {{Eq}.\mspace{14mu} (20)} \end{matrix}$

where e and y are vectors of e_(j) and y_(j) respectively, all matrices X_(j) are Toeplitz of size (L×L), and ĥ_(j) is the estimated impulse response of the jth channel. In the frequency-domain, we have [c.f. Eq. (7)]:

$\begin{matrix} \begin{matrix} {{\underset{\_}{e}(m)} = {{\underset{\_}{y}(m)} - {G{\sum\limits_{j = 1}^{J}\; {{D_{j}(m)}{\hat{\underset{\_}{h}}}_{j}}}}}} \\ {{= {{\underset{\_}{y}(m)} - {{{GD}(m)}\hat{\underset{\_}{h}}}}},} \end{matrix} & {{Eq}.\mspace{14mu} (21)} \end{matrix}$

where D=[D₁D₂ . . . D_(J)] is a (2 L×2 LJ) matrix containing all the J diagonal matrices Dj and ĥ=[ĥ ₁ ^(T) ĥ ₂ ^(T) . . . ĥ _(J) ^(T)]^(T) is the (2 LJ×1) vector of concatenated, transformed, zero-padded estimated impulse responses. Minimizing the criterion defined in Eq. (8), we obtain the normal equation for the multi-channel case:

$\begin{matrix} {{{S(m)}{\hat{\underset{\_}{h}}(m)}} = {s(m)}} & {{Eq}.\mspace{14mu} (22)} \\ \begin{matrix} {{S(m)} = {\left( {1 - \lambda_{f}} \right){\sum\limits_{p = 0}^{m}\; {\lambda_{f}^{m - p}{D^{H}(p)}{\underset{\_}{y}(p)}}}}} \\ {= {{\lambda_{f}{s\left( {m - 1} \right)}} + {\left( {1 - \lambda_{f}} \right){D^{H}(m)}{\underset{\_}{y}(m)}}}} \end{matrix} & {{Eq}.\mspace{14mu} (23)} \end{matrix}$

is a (2 LJ×2 LJ) matrix and

$\begin{matrix} \begin{matrix} {{S(m)} = {\left( {1 - \lambda_{f}} \right){\sum\limits_{p = 0}^{m}\; {\lambda_{f}^{m - p}{D^{H}(p)}{{GD}(p)}}}}} \\ {= {{\lambda_{f}{S\left( {m - 1} \right)}} + {\left( {1 - \lambda_{f}} \right){D^{H}(m)}{{GD}(m)}}}} \end{matrix} & {{Eq}.\mspace{14mu} (24)} \end{matrix}$

is a (2 LJ×1) vector. Using the same approach and definitions as in Section 2, we obtain the multi-channel, constrained, frequency-domain, adaptive algorithm:

e (m)= y (m)−GD(m) ĥ (m−1)  Eq. (25)

ĥ (m)= ĥ (m−1)+(1−λ_(f))S ⁻¹(m)D ^(H)(m) e (m)  Eq. (26)

and the multi-channel unconstrained frequency-domain adaptive algorithm:

S _(u)(m)=λ_(f) S _(u)(m−1)+(1−λ_(f))D ^(H)(m)D(m)  Eq. (27)

ĥ (m)= ĥ (m−1)+μ_(u) S _(u) ⁻¹(m)D ^(H)(m) e (m)  Eq. (28)

Now, S_(u) is not a diagonal matrix, but a block matrix containing J² diagonal matrices that are estimates of the power spectra and cross-power spectra of all the input signals.

Particular case: The two-channel unconstrained frequency-domain adaptive algorithm.

We easily deduce the algorithm from Eq. (27) and Eq. (28):

e (m)= y (m)−G[D ₁(m) ĥ ₁(m−1)+D ₂(m) ĥ ₂(m−1)]  Eq. (29)

ĥ ₁(m)= ĥ ₁(m−1)+μ_(u) S ₁ ⁻¹(m)[D ₁*(m)−S _(1,2)(m)S _(2,2) ⁻¹(m)D ₂*(m)] e (m)  Eq. (30)

ĥ ₂(m)= ĥ ₂(m−1)+μ_(u) S ₂ ⁻¹(m)[D ₂*(m)−S _(2,1)(m)S _(1,1) ⁻¹(m)D ₁*(m)] e (m)  Eq (31)

where S_(j,l) are the (diagonal) sub-matrices of S_(u),

S _(j)(m)=S _(j,j)(m)[I _(2L×2L)−Γ^(H)(m)Γ(m)],j=1,2  Eq. (32)

and

Γ(m)=[S _(1,1)(m)S _(2,2)(m)]^(−1/2) S _(1,2)(m)  Eq. (33)

is the coherence matrix. This algorithm is exactly the same as in [13], exploiting the coherence between the two channels in order to improve the convergence rate of the adaptive filter.

For simplicity, we have derived the multi-channel case assuming N=L and no overlap (α=1). It is easy to generalize this for α>1 by simply computing the FFTs using overlapped data, which is exactly what is done in the next section for the application example (α=4). Furthermore, it is straightforward, although tedious, to generalize to the case of N<L [8].

4. APPLICATION TO ACOUSTIC ECHO CANCELLATION AND SIMULATIONS

Multi-channel acoustic echo cancellation (AEC) is typically intended for use in high quality teleconferencing systems and in multi participant desktop conferencing, implementing sound transmission through at least two channels. Multi-channel AEC can be viewed as a simple generalization of the single-channel acoustic echo cancellation principle. FIGS. 1, 2 and 3 show this technique, in the two-channel (stereo) case, for one microphone in the receiving room (which is represented by the two echo paths h₁ and h₂ between the two loudspeakers and the microphone). The two reference signals x₁ and x₂ from the transmission room are obtained from two microphones in the case of teleconferencing. These signals are derived by filtering from a common source and this gives rise to the non-uniqueness problem discussed in the Background section that does not arise for the single-channel AEC. Also, as previously noted, the usual adaptive algorithms, therefore, converge to solutions that depend on the impulse responses in the transmission room. This means that for good echo cancellation one must track not only the changes in the receiving room, but also the changes in the transmission room (for example, when one person stops talking and another person starts). The same problem occurs for multi-channel desktop conferencing, where multi-channel sound is synthesized from the single-microphone signals of all the participants [12].

Also as discussed in the Background section, U.S. Pat. No. 5,828,756 proposes a simple but efficient solution that overcomes the above-noted problem by adding a small non-linearity into each channel (FIGS. 2 and 3). The distortion due to the non-linearity is hardly perceptible for speech yet it reduces inter-channel coherence thereby allowing reduction of misalignment to a low level. However, this solution is fruitful only when combined with the multi-channel FRLS algorithm which implies a high level of computational complexity such that a real time implementation is difficult. Aforementioned U.S. Pat. No. 6,696,020 discloses an alternate, frequency-domain based, algorithm for generating the acoustic echo cancellation signal based on an extended least mean squares (ELMS) scheme. The present invention is an alternative efficient multi-channel frequency-domain adaptive method and apparatus that is even less computationally burdensome.

We now show, by way of simulation using two channels, that the proposed unconstrained frequency-domain adaptive filter is a good alternative to some classical algorithms, namely, the two-channel Normalized Least Mean Squares (NLMS) and the two-channel Fast Recursive Least Squares (FRLS). The signal source s in the transmission room is a 10 s speech signal. The two microphone signals x₁ and x₂ were obtained by convolving s with two impulse responses g₁, g₂ of length 4096, as measured in an actual room. The microphone output signal y in the receiving room is obtained by summing the two convolutions (h₁*x₁) and h₂*x₂), where h₁ and h₂ also were measured in an actual room as 4096-point responses. A white noise signal with 45 dB SNR is added to y. The sampling rate is 16 kHz. The length of the two adaptive filters is taken as L=1024. In all of the simulations, we added a half-wave rectifier non linearity (with gain of 0.5) to the signals x₁ and x₂. For the proposed algorithm, we used the following parameters: N=1024, and α=4 (which implies an overall delay equal to 1024 samples, i.e., 64 ms). With these values of N and, the proposed algorithm is 7 times less complex than the two-channel NLMS and 40 times less complex than the two-channel FRLS.

FIGS. 4A, 5A and 6A show the convergence of the Mean Square Error (MSE) for the prior art two channel Normalized Least Mean Squares (NLMS) solution, the prior art two-channel Fast Recursive Least Squares (FRLS) solution and the solution of the present invention, respectively.

FIGS. 4B, 5B and 6B show the misalignment for the same three cases, respectively.

For the purpose of smoothing the curves, error and misalignment samples were averaged over 128 points. For the FRLS algorithm, we chose a value λRLS=1−1/(20 L) where L=1024 in this case. Accordingly, for the block frequency-domain algorithm, we chose λf=λLRLS=0.95 in order to have the same effective window length.

It can be seen that the proposed algorithm outperforms the other two with respect to misalignment while also being much less complex to implement. Also, the steady-state attenuation of the MSE for the frequency-domain algorithm appears to be as good as that for the FRLS (and somewhat better than NLMS) as confirmed by informal listening tests. However, the initial convergence rate of the proposed algorithm is somewhat slower than that of the FRLS. This can be improved by using a small exponential forgetting factor as shown in FIGS. 7A and 7B which show the convergence of the MSE and the misalignment, respectively, for the present invention with λ_(f)=0.9, but the misalignment is then increased somewhat. The optimal tradeoff between convergence rate and misalignment is very subjective and application dependent.

For clarity of explanation, the illustrative embodiments of the present invention described herein were presented as comprising individual functional blocks. The functions that these blocks represent may be provided through the use of either shared or dedicated hardware, including, but not limited to, hardware capable of executing software. For example, the functions of the blocks presented in the various illustrative figures may be provided by a single shared processor. (Use of the term “processor” should not be construed to refer exclusively to hardware capable of executing software.) Potential embodiments may comprise digital signal processor (DSP) hardware, read-only memory (ROM) for storing software performing the operations discussed above, and random access memory (RAM) for storing DSP results. Very large scale integration (VLSI) hardware embodiments, as well as custom VLSI circuitry in combination with a general purpose DSP circuit, may also be provided.

5. CONCLUSIONS

We have derived a class of multi-channel frequency-domain adaptive algorithms from a frequency-domain recursive least squares criterion. The constrained algorithm was deduced directly and exactly from the normal equation and, in this sense, is optimal, while the unconstrained version is a good approximation. Most importantly, both algorithms exploit the cross-power spectra (or equivalently the cross-correlations in the time-domain) among all the channels and this feature is fundamental for the algorithms to converge rapidly to the Wiener solution, especially for applications like multi-channel AEC where the channels are highly correlated.

While specific embodiments of the invention have been described in connection with acoustic echo cancellation in a multiple channel teleconferencing system, it should be understood that this is merely an exemplary application and that the invention has much broader applicability. The invention, for instance, can be used in connection with virtually any multiple channel adaptive filtering application, such as multi-channel equalizers.

Having thus described a few particular embodiments of the invention, various alterations, modifications, and improvements will readily occur to those skilled in the art. Such alterations, modifications and improvements as are made obvious by this disclosure are intended to be part of this description though not expressly stated herein, and are intended to be within the spirit and scope of the invention. Accordingly, the foregoing description is by way of example only, and not limiting. The invention is limited only as defined in the following claims and equivalents thereto.

REFERENCES

-   [1] M. Dentino, J. McCool, and B. Widrow, “Adaptive filtering in the     frequency domain,” Proc. IEEE, vol. 66, pp. 1685-1659, Dec. 1978. -   [2] E. R. Ferrara, Jr., “Fast implementation of LMS adaptive     filter,” IEEE Trans. Acoust., Speech, Signal Processing, vol.     ASSP-28, pp. 474-475, Aug. 1980. -   [3] D. Mansour and A. H. Gray, J R., “Unconstrained frequency-domain     adaptive filter,” IEEE Trans. Acoust, Speech Signal Processing, vol.     ASSP-30, pp. 726-734, October 1982. -   [4] J. C. Lee and C. K. Un, “Performance analysis of     frequency-domain block LMS adaptive digital filters,” IEEE Trans.     Circuits Syst., vol. CAS-36, pp. 173-189, February 1989. -   [5] J. S. Soo and K. K. Pang, “Multidelay block frequency domain     adaptive filter,” IEEE Trans. Acoust., Speech, Signal Processing,     vol. ASSP-38, pp. 373-376, February 1990. -   [6] J. Benesty and P. Duhamel, “Fast constant modulus adaptive     algorithm,” IEE Proc.-F, vol. 138, pp. 379-387, August 1991. -   [7] J. Benesty and P. Duhamel, “A fast exact least mean square     adaptive algorithm,” IEEE Trans. Signal Processing, vol. 40, no. 12,     pp. 2904-2920, Dec. 1992. -   [8] E. Moulines, O. Ait Amrane, and Y. Grenier, “The generalized     multidelay adaptive filter: structure and convergence analysis,”     IEEE Trans. Signal Processing, vol. 43, pp. 14-28, Jan. 1995. -   [9] J. Prado and E. Moulines, “Frequency-domain adaptive filtering     with applications to acoustic echo cancellation,” Ann. Télécommun.,     vol. 49, pp. 414-428, 1994. -   [10] J. Benesty, F. Amand, A. Gilloire, and Y. Grenier, “Adaptive     filtering algorithms for stereophonic acoustic echo cancellation,”     in Proc. IEEE ICASSP, 1995, pp. 3099-3102. -   [11] M. G. Bellanger, Adaptive Digital Filters and Signal Analysis.     Marcel Dekker, 1987. -   [12] J. Benesty, D. R. Morgan, J. L. Hall, and M. M. Sondhi,     “Synthesized stereo combined with acoustic echo cancellation for     desktop conferencing,” Bell Labs Tech. J., vol. 3, pp. 148-158,     July-September 1998. -   [13] J. Benesty, A. Gilloire, and Y. Grenier, “A frequency-domain     stereophonic acoustic echo canceler exploiting the coherence between     the channels and using nonlinear transformations” in Proc. IWAENC,     1999. 

1. A method of adaptively filtering a signal transmitted over a channel, said signal containing an input signal and multiple echo responses, said multiple echo responses to be adaptively filtered, said method comprising the steps of: generating an estimate of an echo response corresponding to each of said multiple echo responses; generating a sum of said estimates; and generating an error signal representing the difference between said signal and said sum of said estimates; wherein said estimates are generated using a frequency domain recursive least squares algorithm.
 2. The method set forth in claim 1 wherein each of said estimates is generated by diagonally decomposing by Fourier transformation a circulant matrix formed by augmentation of a matrix of vectors representing said input signal.
 3. The method set forth in claim 1 wherein said step of generating said estimates comprises, for each of said estimates, the steps of: forming a matrix of vectors representing said input signal; augmenting said matrix to form a circulant matrix; and decomposing said circulant matrix by Fourier transformation to form a diagonal matrix, D. 4-5. (canceled)
 6. A method for transmitting an input signal over a channel in a multiple channel communication apparatus where said input signal generates multiple echo responses and results in an output signal, wherein said multiple echo responses are adaptively filtered, said method comprising the steps of: transmitting said signal over a channel, wherein said input signal generates at least first and second echo responses; generating an estimate of an echo response corresponding to each of said first and second echo responses; generating a sum of said estimates; and generating an error signal representing the difference between said signal and sum of said estimates; wherein said estimate are generated using a frequency domain recursive least squares algorithm.
 7. The method set forth in claim 6 wherein each of said estimates is generated by diagonally decomposing by Fourier transformation a circulant matrix formed by augmentation of said input signal.
 8. The method set forth in claim 6 wherein said step of generating said estimates comprises, for each of said estimates, the steps of: forming a matrix of vectors representing said input signal; augmenting said matrix to form a circulant matrix; and decomposing said circulant matrix by Fourier transformation to form a diagonal matrix, D. 9-10. (canceled)
 11. An apparatus for transmitting an input signal over a channel in a multiple channel communication apparatus, said apparatus comprising: a transmitter for generating an input data signal for transmission via a communication channel, wherein said input data signal generates multiple echo responses on said channel and results in an output data signal, wherein said multiple echo responses are to be adaptively filtered; an adaptive filter circuit for generating an estimate of an echo response corresponding to each of said multiple echo responses; a subtracter circuit for generating an error signal representing the difference between said output data signal and a sum of said estimates; wherein said estimates are generated using a frequency domain recursive least squares algorithm.
 12. The apparatus set forth in claim 11 wherein said adaptive filter generates each of said estimates by diagonally decomposing by Fourier transformation a circulant matrix formed by augmentation of said input signal.
 13. The method set forth in claim 11 wherein said adaptive filter comprises: a circuit for forming with respect to each of said echo responses a matrix of vectors representing said input signal; a circuit for augmenting said matrix with respect to each of said echo responses to form a circulant matrix; and a circuit for decomposing said circulant matrix with respect to each of said echo responses by Fourier transformation to form a diagonal matrix, D. 14-17. (canceled)
 18. A method of multi-channel communication between at least first and second locations, said method comprising the steps of: transmitting multiple channels of information upstream from said first location to said second location; transmitting at least one additional channel of information downstream from said second location to said first location; generating an estimate of an echo response corresponding to a distortion paths at said second location coupled between each of said multiple upstream channels and said downstream channel; and generating an error signal representing the difference between a desired signal on said downstream channel and a sum of said estimates and transmitting said error signal to said first location; wherein said estimates are generated using a frequency domain recursive least squares algorithm.
 19. The method set forth in claim 18 wherein said step of generating said estimates comprises generating, by diagonally decomposing by Fourier transformation, a circulant matrix formed by augmentation of a signal on each of said upstream channels.
 20. The method set forth in claim 18 wherein said step of generating said estimates comprises, for each of said estimates, the steps of: forming a matrix of vectors representing a signal on said upstream channel; augmenting said matrix to form a circulant matrix; and decomposing said circulant matrix by Fourier transformation to form a diagonal matrix, D. 21-24. (canceled)
 25. The method set forth in claim 20 wherein said multiple channels of upstream information comprise sound generated at said first location and said distortion paths comprise echo paths at said second location coupled between each of said multiple upstream channels and said downstream channel.
 26. A method of canceling distortion in a communication system having multiple upstream transmission channels from a first location to a second location and at least one downstream transmission channel from said second location to said first location, said method comprising the steps of: developing an estimated echo response corresponding to each of said multiple upstream channels that models an interference path at said second location from said corresponding upstream channel to said downstream channel; convolving each of said estimated echo responses with a signal on the corresponding one of said upstream channels to generate an estimate corresponding to each of said upstream channels; and summing each of said estimates; wherein said estimate is generated using a frequency domain recursive least squares algorithm.
 27. The method set forth in claim 26 wherein said step of developing said estimated echo responses comprises generating, by diagonally decomposing by Fourier transformation, a circulant matrix formed by augmentation of a signal on each of said upstream channels.
 28. The method set forth in claim 26 wherein said step of developing said estimated echo responses comprises, for each of said estimated echo responses, the steps of: forming a matrix of vectors representing a signal on said upstream channel; augmenting said matrix to form a circulant matrix; and decomposing said circulant matrix by Fourier transformation to form a diagonal matrix, D. 29-32. (canceled)
 33. A method of canceling acoustic echo in a communication system having multiple upstream transmission channels from a first location to a second location and at least one downstream transmission channel from said second location to said first location, said method comprising the steps of: developing an estimated echo response corresponding to each of said multiple upstream channels that models an echo path at said second location from said corresponding upstream channel to said downstream channel; convolving each of said estimated echo responses with a signal on the corresponding one of said upstream channels to generate an estimate corresponding to each of said upstream channels; and summing each of said estimates; wherein said estimates are generated using a frequency domain recursive least squares algorithm.
 34. The method set forth in claim 33 wherein said step of developing said estimated echo responses comprises generating, by diagonally decomposing by Fourier transformation, a circulant matrix formed by augmentation of a signal on each of said upstream channels.
 35. The method set forth in claim 33 wherein said step of developing said estimated echo responses comprises, for each of said estimated echo responses, the steps of: forming a matrix of vectors representing a signal on said upstream channel; augmenting said matrix to form a circulant matrix; and decomposing said circulant matrix by Fourier transformation to form a diagonal matrix, D. 36-37. (canceled)
 38. A multi-channel teleconferencing apparatus comprising: at least first and second upstream electrical paths between a first location and a second location for transmitting acoustic signals from said first location to said second location; at least one downstream electrical path between said second location and said first location for transmitting acoustic signals from said second location to said first location; at least one non-linear transformation module coupled within each of one or more of said upstream paths; a finite impulse response filter coupled between said upstream paths and said downstream path for generating an estimate of an echo response corresponding to echo paths at said second location coupled between said at least first and second upstream channels and said downstream channel, said estimate being generated using a frequency domain recursive least squares algorithm; and a difference circuit for generating an error signal representing the difference between a signal on said downstream channel representing sound at said second location and said estimate.
 39. The apparatus set forth in claim 38 wherein said finite impulse response filter generates each of said estimates by diagonally decomposing by Fourier transformation a circulant matrix formed by augmentation of an input signal on a corresponding one of said upstream electrical paths.
 40. The method set forth in claim 38 wherein said finite impulse response filter comprises: a circuit for forming a matrix of vectors representing an input signal on a corresponding one of said upstream electrical paths; a circuit for augmenting each of said matrices with respect to each of said echo responses to form a circulant matrix; and a circuit for decomposing each of said circulant matrices with respect to each of said echo responses by Fourier transformation to form a diagonal matrix, D. 41-45. (canceled)
 46. An apparatus for performing echo cancellation in a multi-channel teleconferencing system comprising at least first and second upstream electrical paths between a first location and a second location for transmitting acoustic signals from said first location to said second location and at least one downstream electrical path between said second location and said first location for transmitting acoustic signals from said second location to said first location, said apparatus comprising; at least one non-linear transformation module for coupling within each of one or more of said upstream paths; a finite impulse response filter for coupling between said upstream paths and said downstream path for generating an estimate of an echo response corresponding to echo paths at said second location coupled between each of said multiple upstream channels and said downstream channel in which said estimate is generated using a frequency domain recursive least squares algorithm.
 47. The apparatus set forth in claim 46 wherein said finite impulse response filter generates each of said estimates by diagonally decomposing by Fourier transformation a circulant matrix formed by augmentation of an input signal on a corresponding one of said upstream electrical paths.
 48. The method set forth in claim 46 wherein said finite impulse response filter comprises: a circuit for forming a matrix of vectors representing a an input signal on a corresponding one of said upstream electrical paths; a circuit for augmenting each of said matrices with respect to each of said echo responses to form a circulant matrix; and a circuit for decomposing each of said circulant matrices with respect to each of said echo responses by Fourier transformation to form a diagonal matrix, D. 49-52. (canceled) 